package analisador_PEWS;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

import bean.MetodosServicos;


/**
 * @author Handerson Medeiros
 * @since 07/09/2010
 */
public class IOArquivo {
	private static List<String> arquivosSalvos = new ArrayList<String>();
	private static Logger log = Logger.getLogger("log");
	
	/**
	 * Carrega o conteúdo de um arquivo em uma String, se o aquivo
	 * não existir, retornará null.
	 * @param arquivo
	 * @return conteúdo
	 * @throws Exception
	 */
	public static String carregar(String arquivo) {
		File file = new File(arquivo);
		if (! file.exists()) {
			return null;
		}
		BufferedReader br;
		try {
			br = new BufferedReader(new FileReader(arquivo));
			StringBuffer bufSaida = new StringBuffer();
			String linha;
			while( (linha = br.readLine()) != null ){
				bufSaida.append(linha + "\n");
			}
			br.close();
			return bufSaida.toString();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
		
	}

	/**
	 * Salva o conteúdo de uma variável em um arquivo
	 * @param arquivo
	 * @param conteudo
	 * @param adicionar se true adicionar no final do arquivo
	 * @throws IOException
	 */
	public static void salvarArquivo(String arquivo, String conteudo) throws IOException {
		arquivosSalvos.add(arquivo);
		String pasta = System.getProperty("user.dir") + "\\Workflow\\";
		FileWriter fw = new FileWriter(pasta+arquivo, false);
		fw.write(conteudo);
		fw.close();
	}
	
	public static String arquivosGerados(){
		String pasta = System.getProperty("user.dir") + "\\Workflow\\";
		StringBuilder sb = new StringBuilder();
		for(String e : arquivosSalvos){
			sb.append(pasta + e + " ");
		}
		return sb.toString();
	}	
	
	public static void msgLog(String mensagem) {
		log.info(mensagem);
		
	}

	public static List<String> getArquivosSalvos() {
		return arquivosSalvos;
	}

	public static void setArquivosSalvos(List<String> arquivosSalvos) {
		IOArquivo.arquivosSalvos = arquivosSalvos;
	}
	
	


}

